var isMiniProgram = false;
if(wx){
	wx.miniProgram.getEnv(function(res) { isMiniProgram = res.miniprogram });
}
function pay (obj) {
	/** 初始化jssdk **/
	$.ajax({
		url: HOST + '/api/jssdk/sign?url=' + location.href.split('#')[0],
		type: 'get',
		success: function (res) {
			wx.config({
				debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
				appId: 'wx3d857b42797b5eb4', // 必填，公众号的唯一标识
				timestamp: res.content.timestamp, // 必填，生成签名的时间戳
				nonceStr: res.content.nonceStr, // 必填，生成签名的随机串
				signature: res.content.signature,// 必填，签名，见附录1
				jsApiList: ['chooseWXPay'] // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
			});
			_pay(obj);
		},
		error: function () {
			alert('获取jssdk失败');
		}
	});
}

/** 支付 **/
function _pay(obj) {
	//支付接口数据，正式应该多传个 订单号orderCode！！
	data = {
		"openid": SELFID, //openid
		"totalFee": obj.price,  //总价,单位：元
		"isMiniProgram": isMiniProgram,  //是否是小程序
		"orderCode": obj.orderCode
	}
	$.ajax({
		url: HOST + '/api/mini-program/prepay',
		type: 'post',
		data: JSON.stringify(data),
		success: function (res) {
			if(res.ret == -1){
				alert(res.content);
				return;
			}
			var timeStamp = res.content.timeStamp;
			var nonceStr = res.content.nonceStr
			var package = res.content.package
			var signature = res.content.signature

			if (isMiniProgram){
				/** 如果是小程序，则跳到小程序支付Page **/
				params = "timeStamp=" + timeStamp + "&nonceStr=" + nonceStr + "&package="
					+ package + "&paySign=" + signature + "&orderCode=" + res.content.orderCode + "&openid=" + SELFID
				wx.miniProgram.navigateTo({url: '../pay/pay?' + params})
			}else{
				/** 不是小程序，调用jssdk的支付 **/
				wx.chooseWXPay({
					appId: 'wx3d857b42797b5eb4',
					timestamp: res.content.timeStamp, // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
					nonceStr: res.content.nonceStr, // 支付签名随机串，不长于 32 位
					package: "prepay_id=" + res.content.package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=***）
					signType: 'MD5', // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
					paySign: res.content.signature, // 支付签名
					success: function (res) {
						// 支付成功后的回调函数
						if (res.errMsg == "chooseWXPay:ok") {
							obj.callback && obj.callback();
							//支付成功
							alert('支付成功');
						} else {
							obj.errCallback && obj.errCallback();
							alert(res.errMsg);
						}
					},
					cancel: function (res) {
						obj.errCallback && obj.errCallback();
						//支付取消
						alert('支付取消');
					},
					error: function (res) {
						obj.errCallback && obj.errCallback();
						// 支付失败的回调函数
						alert(res);
						alert("支付失败");

					}
				});
			}

		},
		error: function () {
			alert('支付失败');
		}
	})
}
